package com.gjzhao.fmmall.service;

import com.gjzhao.fmmall.vo.RespResultVO;
import com.gjzhao.fmmall.vo.ResponseResultVO;

/**
 * @Description: 用户管理接口
 * @Author: gjzhao
 * @Date Created in 2021-10-30 2:49 下午
 */
public interface UsersService {
    
    /**
     * 登录用户-普通方式
     * @param username
     * @param password
     * @return: com.gjzhao.fmmall.vo.ResponseResultVO
     * @author: gjzhao
     * @date Created in 2021/10/31 4:55 下午
     */
    ResponseResultVO getUserByUsername(String username,String password);


    /**
     * 用户登录-使用token方式
     * @param username
     * @param password
     * @return
     */
    ResponseResultVO getUserByUsernameByToken(String username,String password);

    /**
     * 校验token( 自己去校验实现 )
     * @param token
     * @return
     */
    ResponseResultVO checkToken(String token);


    /**
     * 校验token( 使用拦截器实现 )
     * @param token
     * @return
     */
    ResponseResultVO checkTokenByInterceptor(String token);


    /**
     * 注册用户
     * @param username
     * @param password
     * @return: com.gjzhao.fmmall.vo.ResponseResultVO
     * @author: gjzhao
     * @date Created in 2021/10/31 4:55 下午
     */
    ResponseResultVO insertUser(String username,String password);


    /**
     *  根据用户id查询用户信息
     * @param userId
     * @return
     */
    ResponseResultVO selectUserByUserId(String userId);


    /**
     * 根据账户密码删除用户
     * @param username
     * @param password
     * @return
     */
    RespResultVO deleteUser(String username,String password);

}
